home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BCI NET
/
BCI NET Dec 94.iso
/
archives
/
misc
/
und64_375.lha
/
und64.doc
< prev
Wrap
Text File
|
1994-10-06
|
10KB
|
259 lines
UNd64 v 37.5 (10.6.94)
© Copyright 1994 Jess Sosnoski
DISCLAIMER:
Use this program at your own risk!
I assume no responsibility or liability for problems that occour by the use,
modification, or existence of this product in any form.
(I.E. If it makes your new 1942 monitor turn into cheese whiz, bon apetit!)
This program is copyrighted by Jess Sosnoski and is available as shareware.
It may be distributed only under the following conditions:
1.) Program and Documentation is not modified in any way.
2.) Program and Documentation must be distributed together.
3.) This package may not be used for commercial purposes.
4.) Sale price must not exceed the cost of media and shipping plus a
nominal copying fee equaling no greater than fred fish charges.
5.) I give permission to release this on CD-ROM.
Okay, now the docs...
WHAT DOES THIS THING DO ANYWAYZ?
--------------------------------
This program is designed to extract files from .d64 disk images found at
WATSON.MBB.SFU.CA.
WHAT ARE .D64 DISK IMAGES?
--------------------------
Basically, the .d64 files are just the contents of a Commodore 1541
formatted disk. The file has every sector on the disk stored sequentially
in it.
This has equal convenience and inconvenience. First, you can put a whole
disk's worth of information in a file-However, extracting it is the trick!
In the PC world, it appears that their C64 emulators or related utilities
are capable of using .d64 images as virtual disks (how nice).
I haven't run into any Amiga C64 emulators that do this, so I had to write
a utility to take advantage of .d64 files.
This program reads in the nice 170K .d64 file, and then does some nice disk
drive function emulation, and can list, extract, or test the files contained
in the .d64 file.
USAGE
-----
From the Shell/CLI (only):
und64 [command]{option} [filename]
Commands:
l List Archive.
x Extract files from archive.
t Test files in archive.
Options:
d Handle DELeted files
* WARNING * Resurrecting DELeted files is risky business, if a new file
is partially written over part of a DEL'd file, you may also
get the end of another file as a surprise bonus. Or maybe
you'll just get a part of an already complete file.
a Handle ALL files. This will allow extracting of splat files, or
in other words, incorrectly closed files. Same warning as DEL files.
Filename:
Name of the file including the .d64 extension (if exists).
If run without parameters, the program will provide usage information.
To stop the program at any point press CTRL-C.
Example:
und64 la FooBar.d64
Example Output:
UNd64 37.5 (10.5.94)
© Copyright 1994 Jess Sosnoski / Paradigm Shift Software
Reading file...
Disk Name:games 04 2a
Approx
Blks Bytes Type Filename
---------------------------------
1 254 PRG star
66 16764 PRG czar trek
154 39116 DEL hhm.0801-9ff0
1 254 DEL hhm.9ff0-a000
1 254 DEL hhm.c000-c080
1 254 DEL hard hat
66 16764 PRG kong
1 254 PRG kong boot
3 762 DEL root
33 8382 DEL qfm96
2 508 DEL centipod
9 2286 DEL turbo
Output Description
------------------
Blocks: number of disk blocks it took up on the disk.
A disk block=256 bytes, 254 used for data.
Approx Bytes: 254*Blocks. This is to give an approximate filesize
Actual filesize should be smaller than or equal to this.
NOTE: If someone messed with the dir structure and
manually changed the nomber of blocks, this could
give false information. If blocks>664, which is
physically impossible, I set the length to 0.
Type: This will be DEL, PRG, SEQ, or USR. This is for informational
purposes only, and does not affect outputted files. For those of you
out there who are not Commodore users, PRG files are typically
programs/executables. SEQ files are typically text files. USR
can be about anything. DEL files are deleted, you can list or
attempt to extract them when using the d option.
There are also REL(ative) files, which are not supported.
REL files are 3-d type files with all kinds of side sectors
and records and junk--so I chose not to deal with them.
(as if they could be properly stored on a filesystem which does
not support them!)
Filename: Gee, I dunno.
NOTE: Filenames are converted to AmigaASCII, and any characters
<32 or >127 are converted to printable characters.
Characters /"?:#*, are converted to -
Output Messages
---------------
***Break
You pressed CTRL-C and stopped execution.
* Extracting
File is being extracted.
* Testing
File is being tested for integrity
>>Extracting/Testing Errors:
* Circular Link Found, File Truncated
UNd64 found a circular link and cut the file off there.
A circular link occours when a pointer to the next track & sector of a file
points to a track & sector earlier in a file, and if this is not detected,
it can make quite a mess on your hard drive.
(Extracting forever is not good!)
* File size error (n bytes)
This is either caused by circular links, inproper file size in the
directory block, or a corrupt file (possible disk error). The number
in parenthesis is the number of bytes the file actually was.
* File Exists! (R)ename (O)verwrite (S)kip (A)bort
If a file already exists with the same name, this message appears.
At this point you would select the first letter of the appropriate option
and press return. Rename will ask you for a new name to give the file,
Overwrite will overwrite the file, Skip will skip extracting the file, and
Abort will stop the program A-la CTRL-C.
WHY USE THIS PROGRAM
--------------------
If you have a 64 emulator, this program is useful.
Or, you can extract the files, and later transfer them to a 64.
COMPATIBILITY
-------------
This program was written and compiled on an A600 running 2.05 (37.350) rom,
and 2.1 workbench with 4MB Fast 2MB Chip, and a 120MB hard drive. As far
as I know, the compiler doesn't even support 2.0+, so it might even run
on an antiquated 1.2 OS.
I haven't tested this on any other machines, so bug reports are welcome.
(I know it needs at least ~180K free memory to run)
NOTES
-----
Some .d64 files do not have fully extractable programs on them.
You may be able to extract the boot file(s), but other than that,
you will need a virtual .d64 device.
Some examples of disks that may do this would be flight simulator disks,etc.
HISTORY
-------
37.1 First Release. Written and compiled in PCQ Pascal 1.2d
(the PD release), assembled on A68k 2.71, disassembled
with IRA 1.02, re-assembled and optimized with PhxAss 3.30,
linked throughout with PhxLnk 2.03, and hunkmerged with
Imploder 4.0.
Basically, it does what is says it does.
It has a styleguide-compliant version string.
(or seems to be)
37.2 Added circular-link checking and fixed a ctrl-c bug when
attempting to break while extracting (37.1 didn't stop).
Unfortunately c-l checking slows down extraction a wee bit.
Fixed REL file bug, it no longer lists or attempts to extract
these nasty little files. Improved illegal filename character
checking. Rewrote some parts of this doc.
37.3 Speeded up circular-link check to take constant time O(1),
instead of summatory time, improved output. Added duplicate
filename checking. Improved illegal filename character checking.
Rewrote some more of the doc.
37.4 Now primarily assembled with SNMA 1.39 instead of A68K, and
re-assembled & optimized with Phxass 3.71, producing shorter
faster code. Added ability to process deleted and splat files,
put some filesize checking in.
37.5 Assembled with SNMA 1.95, and skipped Phxass because it's
optimization was causing GURU's-and I didn't want to mess
with the program to get it to work at 3am. Added file
testing, support for locked, etc.. files, removed a few bugs,
rewrote some parts of code. Improved output.
TODO
----
-SAS/C (when I can afford it, E couldn't handle an iddy biddy 180K array)
-Make it faster. (as of now it does a nice sequential read of the file).
-An '020+ version, although it defies me how that would make it much faster.
-Wildcard extraction
-AmigaGuide docs (The doc is growing, so maybe when I'm bored someday...)
-Archive recognition routines. As of this point in time, you can give the
program a text file to extract from, and it will read it (results will be
interesting). Unfortunately, .d64 files are raw disk images, and there is
no (reliable) way to tell them from any other data files (possibly size).
SILLY DREAMS
------------
-Make it possible to create/modify .d64 diskimage files. Copying files both
from and to, renaming, deleting, etc...
-Make the above into a virtual disk .d64filesystem so that any program can
make diskimages that may be xferred to C-64's (yea right!)
-Repair circular links (so the whole file can be extracted).
-A GUI!!!
-Full-speed cray supercomputer emulation.
-Give you source code- MAYBE if I rewrite it in C
I would give source code if it would be useful, but PCQ pascal forced
me to resort to hacks to get the program to compile (*AND* run).
The Author's Addresses...
-------------------------
Jess Sosnoski
651 Hillside Drive
Mount Carmel, PA 17851-2463
My Internet address (unless they put me on another machine or leave school):
j8s@mc3b2.bloomu.edu
and
jlsosn@planetx.bloomu.edu
If you feel the irresistible need to send me money, gifts or an
Amiga 4000 Tower, I will give a very gracious thank you.
//
// .
// /|
\\ // /_|
\x/ _/ _|MIGA...Waiting in Bahamian court!
Quote of the day:
"Ain't that the best!!!"
-Sheldon